<?php
/**
 * Description of CompraService
 *
 * @author Magno
 */
class CompraService {


    private $compraDAO;
    function __construct() {
        $this->compraDAO = new CompraDAO();
    }


    public function salvar($compra) {

        try {
            return $this->compraDAO->salvar($compra);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function excluir($compraID) {

        try {
            if(!isset ($compraID) || $compraID <= 0)
                throw new Exception("Codigo da Compra Nao Econtrado!!!");

            $this->compraDAO->excluir($compraID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }

    }

    public function listar($pagina = 0, $pacoteLanceID = -1, $usuarioID = -1, $statusID = -1, $carregarDependencias = false) {
        try {
            return $this->compraDAO->listar($pagina, $pacoteLanceID, $usuarioID, $statusID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function listarPorOrdem($pagina = 0, $tamanho = 0, $ordem = "compraID", $direcao = "DESC") {
        try {
            return $this->compraDAO->listarPorOrdem($pagina, $tamanho, $ordem, $direcao);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function buscarPorID($compraID, $carregarDependencias = false) {
        try {
            if(!isset ($compraID) || $compraID <= 0)
                throw new Exception("Codigo da Compra Nao Econtrado!!!");
            return $this->compraDAO->buscarPorID($compraID, $carregarDependencias);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }

    public function total($pacoteLanceID = -1, $usuarioID = -1, $statusID = -1) {
        try {
            return $this->compraDAO->total($pacoteLanceID, $usuarioID, $statusID);
        }catch(Exception $err) {
            throw new Exception($err->getMessage());
        }
    }
}
?>
